
package org.report.pdf;

// *************************************************************************/
// Area de Desarrollo de Sistemas de Información
// *************************************************************************/
// Proyecto : java creator document
// Archivo : DocumentProperties.java
// Descripcion : Clase DocumentProperties
// *************************************************************************/
// Version : 1.0.5
// Fecha de Creación: 11 de Julio de 2014
// Author : Daniel Andres Castillo Pedroza
// *************************************************************************/

public class DocumentProperties {
    
    // Atributos de la clase DocumentProperties
    
    private PageMargins pageMargins;
    private PageDimension pageDimension;
    private String rootFile;
    
    // Constructores de la clase DocumentProperties
    
    public DocumentProperties() {
      this("Document_Example.pdf");
    }
    
    public DocumentProperties(String rootFile) {
      initProperties(rootFile);
    }
    
    // Metodos de la clase DocumentProperties
    
    /**
      * 
      * @param rootFile 
    */
    
    private void initProperties(String rootFile) {
      pageMargins = new PageMargins(); pageDimension = new PageDimension(); setRootFile(rootFile);
    }
    
    /**
      * 
      * @return 
    */

    public String getRootFile() {
      return rootFile;
    }
    
    /**
      * 
      * @param rootFile 
    */

    public final void setRootFile(String rootFile) {
      this.rootFile = rootFile;
    }
    
    /**
      * 
      * @return 
    */
    
    public PageMargins getPageMargins() {
      return pageMargins;
    }
    
    /**
      * 
      * @param pageMargins 
    */
    
    public void setPageMargins(PageMargins pageMargins) {
      this.pageMargins = pageMargins;
    }
    
    /**
      * 
      * @return 
    */

    public PageDimension getPageDimension() {
        return pageDimension;
    }
    
    /**
      * 
      * @param pageDimension 
    */

    public void setPageDimension(PageDimension pageDimension) {
        this.pageDimension = pageDimension;
    }
    
    // Clases internas de la clase DocumentProperties
    
    public class PageMargins {
        
        // Atributos de la clase PageMargins
        
        private float top;
        private float rigth;
        private float left;
        private float bottom;
        
        // Atributos de la clase PageMargins
        
        public PageMargins() {
          setTop(50f); setRigth(40f); setBottom(50f); setLeft(50f); 
        }
        
        // Metodos de la clase PageMargins
        
        /**
          * 
          * @return 
        */

        public float getTop() {
          return top;
        }
        
        /**
          * 
          * @param top 
        */

        public final void setTop(float top) {
          this.top = top;
        }
        
        /**
          * 
          * @return 
        */

        public float getRigth() {
          return rigth;
        }
        
        /**
          * 
          * @param rigth
        */

        public final void setRigth(float rigth) {
          this.rigth = rigth;
        }
        
        /**
          * 
          * @return 
        */

        public float getLeft() {
          return left;
        }
        
        /**
          * 
          * @param left 
        */

        public final void setLeft(float left) {
          this.left = left;
        }
        
        /**
          * 
          * @return 
        */

        public float getBottom() {
          return bottom;
        }
        
        /**
          * 
          * @param bottom 
        */

        public final void setBottom(float bottom) {
          this.bottom = bottom;
        }
    }
    
    public class PageDimension {
        
        // Atributos de la clase PageDimension
    
        private float width;
        private float height;
        
        // Constructor de la clase PageDimension
        
        public PageDimension() {
          setWidth(612f); setHeight(792f);
        }
        
        // Metodos de la clase PageDimension
        
        /**
          * 
          * @return 
        */

        public float getWidth() {
          return width;
        }
        
        /**
          * 
          * @param width 
        */

        public final void setWidth(float width) {
          this.width = width;
        }
        
        /**
          * 
          * @return 
        */

        public float getHeight() {
          return height;
        }
        
        /**
          * 
          * @param height 
        */

        public final void setHeight(float height) {
          this.height = height;
        }
    }
}